<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body></body>
</html>
<script>
  //   function fn(cb) {
  //     // console.log(cb);
  //     let num = 0;
  //     setTimeout(() => {
  //       num = 10;
  //       cb(num);
  //     }, 1000);
  //   }
  //   //   let ftn = (val) => {
  //   //     console.log(val);
  //   //   };
  //   //   ftn(10);

  //   fn((val) => {
  //     // 回调函数
  //     console.log(val);
  //   });
  //   console.log(fn());

  // array.forEach(element => {

  // });
  // $('div').click(function(){})

  //   function fn() {
  //     return new Promise((resolve, reject) => {
  //       let num = 0;
  //       // Pending 等待异步或者请求执行完成
  //       // resolve 代表成功
  //       // reject 失败
  //       setTimeout(() => {
  //         num = 10;
  //         reject(num);
  //       }, 1000);
  //     });
  //   }

  //   fn()
  //     .then((res) => {
  //       console.log("成功的打印" + res);
  //     })
  //     .catch((err) => {
  //       console.log("失败的打印" + err);
  //     });

  //   let promise = new Promise(function (resolve, reject) {
  //     console.log("AAA");
  //     resolve();
  //   });
  //   promise.then(() => console.log("BBB"));
  //   console.log("CCC");

  //   let promise = new Promise(function (resolve, reject) {
  //     console.log("1");
  //     setTimeout(() => {
  //       resolve();
  //     }, 10);
  //   });
  //   setTimeout(() => console.log("2"), 0);
  //   promise.then(() => console.log("3"));
  //   console.log("4");

  // 1,4,3,2

  const axios = {
    get: (url) => {
      return new Promise((resolve, reject) => {
        let xml = new XMLHttpRequest();
        xml.open("get", url);
        xml.onreadystatechange = () => {
          //   console.log(xml.readyState);
          if (xml.readyState !== 4) return;
          xml.status == 200 ? resolve(JSON.parse(xml.response)) : reject("404");
        };
        xml.send();
      });
    },
  };

  axios
    .get("https://api.it120.cc/small4/cms/news/list")
    .then((res) => {
      console.log(res);
    })
    .catch((err) => {
      console.log(err);
    });
</script>
